AProVE: A System for Proving Termination
نویسندگان
چکیده
The system AProVE (Automated Program Verification Environment) can be used for automated termination and innermost termination proofs of (conditional) term rewrite systems (TRSs). AProVE currently offers the techniques of recursive path orders possibly with status [3] (Sect. 2), dependency pairs including recent refinements such as narrowing, rewriting, and instantiation of dependency pairs [1, 4, 5] (Sect. 3), and the size-change principle, also in combination with dependency pairs [7, 9] (Sect. 4). The tool is written in Java and proofs can be performed both in a fully automated or in an interactive mode via a graphical user interface (Sect. 5)
منابع مشابه
Automated Termination Proofs with AProVE
We describe the system AProVE, an automated prover to verify (innermost) termination of term rewrite systems (TRSs). For this system, we have developed and implemented efficient algorithms based on classical simplification orders, dependency pairs, and the size-change principle. In particular, it contains many new improvements of the dependency pair approach that make automated termination prov...
متن کاملProving Termination of Programs Automatically with AProVE
AProVE is a system for automatic termination and complexity proofs of Java, C, Haskell, Prolog, and term rewrite systems (TRSs). To analyze programs in high-level languages, AProVE automatically converts them to TRSs. Then, a wide range of techniques is employed to prove termination and to infer complexity bounds for the resulting TRSs. The generated proofs can be exported to check their correc...
متن کاملAProVE: Proving and Disproving Termination of Memory-Manipulating C Programs - (Competition Contribution)
AProVE is a system for automatic termination and complexity analysis of C, Java, Haskell, Prolog, and several forms of rewrite systems. The new contributions in this version of AProVE are its capabilities to prove non-termination of C programs and to handle recursive C programs, even if these programs use pointer arithmetic combined with direct memory accesses. Moreover, in addition to mathemat...
متن کاملProving Termination with AProVE
The system AProVE (Automated Program Verification Environment) offers a variety of techniques for automated (innermost) termination proofs of (possibly conditional) TRSs, logic programs, and first-order functional programs. Besides efficient implementations of classical simplification orders (Sect. 2), it offers the dependency pair technique [2,11] which allows the application of classical orde...
متن کاملProving Termination and Memory Safety for Programs with Pointer Arithmetic
Proving termination automatically for programs with explicit pointer arithmetic is still an open problem. To close this gap, we introduce a novel abstract domain that can track allocated memory in detail. We use it to automatically construct a symbolic execution graph that represents all possible runs of the program and that can be used to prove memory safety. This graph is then transformed int...
متن کامل